home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 44 / Amiga Format CD44 (1999-08-26)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-10].iso / -in_the_mag- / basics / amos / jdlib4_6.lha / Progs / QuerDruck.AMOS / QuerDruck.amosSourceCode
AMOS Source Code  |  2008-12-07  |  6KB  |  273 lines

  1. Set Buffer 150
  2. Break Off 
  3. Curs Off 
  4.  
  5. F$=Fsel$("","","")
  6. Set Input 10,-1
  7. If F$="" Then Goto _END2
  8.  
  9. LF$=Chr$(12)+Chr$(0)
  10.  
  11. MX=0
  12. Open In 1,F$
  13. While Eof(1)=0
  14.    Line Input #1,A$ : MX=MX+1
  15. Wend 
  16. Close 1
  17.  
  18. DB=60
  19. SEITEN=MX/77
  20. If MX mod 77>0 Then SEITEN=SEITEN+1
  21. PRODUKTE=SEITEN/4
  22. If SEITEN mod 4>0 Then PRODUKTE=PRODUKTE+1
  23. DZEILEN=PRODUKTE*4*77
  24. Dim ZEILE$(DZEILEN),QUER$(DB)
  25. SZ$=Str$(DZEILEN/77)
  26.  
  27. BLAETTER=PRODUKTE+2 : BLAETTER$=Str$(BLAETTER)
  28. Locate 10,10 : Centre "Lege bitte"+BLAETTER$+" Bl�tter ein!"
  29. Wait Key 
  30.  
  31. Locate 10,10 : Centre "       Initialisiere Drucker!       "
  32. Open Out 1,"prt:"
  33. For X=1 To 69
  34.    Print #1,""
  35. Next 
  36. Print #1, Extension_21_0006 
  37. Close 1
  38. Gosub _CHARS
  39.  
  40. Open In 1,F$
  41. Locate 10,10 : Centre "    Lese Daten ein!   "
  42. For XX=1 To MX
  43.    Z$=""
  44.    Line Input #1,Z$
  45.    Z$= Extension_22_0884(Z$,8)
  46.    If Len(Z$)>DB Then ZEILE$(XX)=Left$(Z$,DB) : Goto SKIP
  47.    EX=DB-Len(Z$)
  48.    For X=1 To EX
  49.       Z$=Z$+" "
  50.    Next 
  51.    ZEILE$(XX)=Z$
  52.    SKIP:
  53. Next 
  54. Close 1
  55.  
  56. Locate 10,10
  57. If SEITEN>2 Then Centre "Es werden"+SZ$+" Seiten gedruckt"
  58. If SEITEN<3 Then Centre "Es werden"+Str$(SEITEN)+" Seiten gedruckt"
  59. LZ$=""
  60. For X=1 To DB
  61.    LZ$=LZ$+" "
  62. Next 
  63. If DZEILEN>MX Then For X=MX+1 To DZEILEN : ZEILE$(X)=LZ$ : Next 
  64. Open Out 1,"PRT:"
  65.  
  66. If SEITEN<3 Then Goto PR0
  67.  
  68. PR1:
  69. S1=PRODUKTE*4 : L1=1
  70. For DI=1 To PRODUKTE
  71.    Gosub _READ_AND_DO
  72.    S1=S1-2 : L1=L1+2
  73. Next 
  74. Gosub _MELDUNG
  75. For DI=1 To PRODUKTE
  76.    Gosub _READ_AND_DO
  77.    S1=S1-2 : L1=L1+2
  78. Next 
  79. Goto _END
  80.  
  81. PR0:
  82. S1=1 : L1=2
  83. Gosub _READ_AND_DO
  84. Goto _END
  85.  
  86. _READ_AND_DO:
  87. S=S1
  88. Gosub _DOIT
  89. For X=1 To 11
  90.    Print #1,""
  91. Next 
  92. S=L1
  93. Gosub _DOIT
  94. Print #1,LF$
  95. Return 
  96.  
  97. _DOIT:
  98. F=((S-1)*77)+1 : L=S*77
  99. Gosub _DREHEN
  100. For X=1 To DB
  101.    Print #1,QUER$(X)
  102. Next 
  103. Return 
  104.  
  105. _DREHEN:
  106. For X=1 To DB
  107.    QUER$(X)=""
  108.    For NR=L To F Step -1
  109.       QUER$(X)=QUER$(X)+Mid$(ZEILE$(NR),X,1)
  110.    Next 
  111. Next 
  112. If S<10
  113.    QUER$(29)=QUER$(29)+" -"
  114.    QUER$(30)=QUER$(30)+Str$(S)
  115.    QUER$(31)=QUER$(31)+" -"
  116. End If 
  117. If S>9
  118.    QUER$(29)=QUER$(29)+" -"
  119.    QUER$(30)=QUER$(30)+Left$(Str$(S),2)
  120.    QUER$(31)=QUER$(31)+" "+Right$(Str$(S),1)
  121.    QUER$(32)=QUER$(32)+" -"
  122. End If 
  123. Return 
  124.  
  125. _END:
  126. Close 1
  127. _END2:
  128. Open Out 1,"par:"
  129. Print #1,Chr$(27);"%0";Chr$(0)
  130. Print #1,Chr$(27);"@";Chr$(0)
  131. Close 1
  132. End 
  133.  
  134. _MELDUNG:
  135. Close 1
  136. Open Out 1,"par:"
  137. Print #1,Chr$(27);"@";Chr$(0)
  138. Close 
  139. Locate 10,10 : Centre "Drehe jetzt bitte die Bl�tter um!" : Wait Key 
  140. Locate 10,10 : Centre "          Drucke weiter!         "
  141.  
  142. Open Out 1,"prt:"
  143. For X=1 To 69
  144.    Print #1,""
  145. Next 
  146. Print #1, Extension_21_0006 
  147. Close 1
  148.  
  149. Open Out 1,"par:"
  150. Print #1,Chr$(27);"%1";Chr$(0);
  151. Print #1,Chr$(27);"A";Chr$(6);Chr$(0);
  152. Print #1,Chr$(27);"2";Chr$(0);
  153. Print #1,Chr$(27);Chr$(10);
  154. Print #1,Chr$(27);Chr$(10);
  155. Print #1,Chr$(27);Chr$(10)
  156. Close 1
  157.  
  158. Open Out 1,"prt:"
  159. Return 
  160.  
  161. _CHARS:
  162. Open Out 1,"par:"
  163. Print #1,Chr$(27);"&";Chr$(0);Chr$(33);Chr$(126);
  164. Restore UDEF
  165. For C=33 To 126
  166.    For M=0 To 11
  167.       Read A
  168.       Print #1,Chr$(A);
  169.    Next M
  170. Next C
  171. Print #1,Chr$(27);"%1";Chr$(0);
  172. Print #1,Chr$(27);"A";Chr$(6);Chr$(0);
  173. Print #1,Chr$(27);"2";Chr$(0);
  174. Print #1,Chr$(27);Chr$(10);
  175. Print #1,Chr$(27);Chr$(10);
  176. Print #1,Chr$(27);Chr$(10)
  177. Close 1
  178. Return 
  179. UDEF:
  180. Data 139,0,0,24,0,0,0,24,0,24,0,24
  181. Data 139,0,0,0,0,0,0,0,0,102,0,102
  182. Data 139,0,0,36,0,126,0,36,0,126,0,36
  183. Data 139,0,8,0,28,2,28,0,32,28,0,8
  184. Data 139,0,0,38,0,18,0,8,0,36,0,50
  185. Data 139,0,0,26,0,36,0,24,0,36,0,24
  186. Data 139,0,0,0,0,0,0,16,0,8,0,24
  187. Data 139,0,0,4,0,8,0,8,0,8,0,4
  188. Data 139,0,0,32,0,16,0,16,0,16,0,32
  189. Data 139,0,0,42,0,28,0,8,0,28,0,42
  190. Data 139,0,0,8,0,8,0,62,0,8,0,8
  191. Data 139,16,0,8,0,24,0,0,0,0,0,0
  192. Data 139,0,0,0,0,0,0,60,0,0,0,0
  193. Data 139,0,0,24,0,24,0,0,0,0,0,0
  194. Data 139,0,0,32,0,16,0,8,0,4,0,2
  195. Data 139,0,0,24,0,36,0,36,0,36,0,24
  196. Data 139,0,0,28,0,8,0,8,0,24,0,8
  197. Data 139,0,0,62,0,8,0,4,0,34,0,28
  198. Data 139,0,0,28,0,4,8,16,0,8,0,60
  199. Data 139,0,0,4,0,62,0,20,0,12,0,4
  200. Data 139,0,0,56,0,4,0,56,0,32,0,60
  201. Data 139,0,0,24,0,36,0,56,0,32,0,28
  202. Data 139,0,0,16,0,16,0,8,0,4,0,60
  203. Data 139,0,0,24,0,36,0,24,0,36,0,24
  204. Data 139,0,0,56,0,4,0,28,0,36,0,24
  205. Data 139,0,0,0,0,24,0,0,0,24,0,0
  206. Data 139,16,0,8,0,24,0,0,0,24,0,0
  207. Data 139,0,0,8,0,16,0,32,0,16,0,8
  208. Data 139,0,0,0,0,60,0,0,0,60,0,0
  209. Data 139,0,0,16,0,8,0,4,0,8,0,16
  210. Data 139,16,0,0,0,16,0,8,0,36,0,24
  211. Data 139,0,0,30,0,32,0,46,0,42,0,28
  212. Data 139,0,0,36,0,36,0,60,0,36,0,24
  213. Data 139,0,0,56,0,36,0,56,0,36,0,56
  214. Data 139,0,0,28,0,32,0,32,0,32,0,28
  215. Data 139,0,0,56,0,36,0,36,0,36,0,56
  216. Data 139,0,0,60,0,32,0,56,0,32,0,60
  217. Data 139,0,0,32,0,32,0,56,0,32,0,60
  218. Data 139,0,0,28,0,34,0,46,0,32,0,30
  219. Data 139,0,0,36,0,36,0,60,0,36,0,36
  220. Data 139,0,0,28,0,8,0,8,0,8,0,28
  221. Data 139,0,0,24,0,36,0,4,0,4,0,14
  222. Data 139,0,0,36,0,40,0,48,0,40,0,36
  223. Data 139,0,0,60,0,32,0,32,0,32,0,32
  224. Data 139,0,0,34,0,34,0,42,0,54,0,34
  225. Data 139,0,0,36,0,36,0,44,0,52,0,36
  226. Data 139,0,0,24,0,36,0,36,0,36,0,24
  227. Data 139,0,0,32,0,32,0,56,0,36,0,56
  228. Data 139,0,0,26,0,44,0,36,0,36,0,24
  229. Data 139,0,0,36,0,40,0,56,0,36,0,56
  230. Data 139,0,0,60,0,2,0,28,0,32,0,30
  231. Data 139,0,0,8,0,8,0,8,0,8,0,62
  232. Data 139,0,0,24,0,36,0,36,0,36,0,36
  233. Data 139,0,0,8,0,20,0,34,0,34,0,34
  234. Data 139,0,0,34,0,54,0,42,0,34,0,34
  235. Data 139,0,0,34,0,20,0,8,0,20,0,34
  236. Data 139,0,0,8,0,8,0,20,0,34,0,34
  237. Data 139,0,0,60,0,16,0,8,0,4,0,60
  238. Data 139,0,0,36,0,36,0,60,0,36,0,90
  239. Data 139,0,0,24,0,36,0,36,0,36,0,90
  240. Data 139,0,0,24,0,36,0,36,0,0,0,36
  241. Data 139,0,0,0,0,0,0,34,0,20,0,8
  242. Data 11,255,0,0,0,0,0,0,0,0,0,0
  243. Data 139,0,0,0,0,0,0,8,0,16,0,24
  244. Data 139,0,0,26,36,0,28,0,4,56,0,0
  245. Data 139,0,0,56,0,36,0,56,0,32,0,32
  246. Data 139,0,0,28,0,32,0,32,0,28,0,0
  247. Data 139,0,0,28,0,36,0,28,0,4,0,4
  248. Data 139,0,0,28,0,32,24,36,0,24,0,0
  249. Data 139,0,0,16,0,16,0,56,0,16,0,12
  250. Data 139,56,0,4,0,28,0,36,0,28,0,0
  251. Data 139,0,0,36,0,36,0,56,0,32,0,32
  252. Data 139,0,0,8,0,8,0,24,0,0,0,8
  253. Data 139,24,0,4,0,4,0,12,0,0,0,4
  254. Data 139,0,0,20,0,24,0,24,0,20,0,16
  255. Data 139,0,0,28,0,8,0,8,0,8,0,24
  256. Data 139,0,0,34,0,42,0,42,0,54,0,0
  257. Data 139,0,0,36,0,36,0,36,0,56,0,0
  258. Data 139,0,0,24,0,36,0,36,0,24,0,0
  259. Data 139,32,0,32,0,56,0,36,0,56,0,0
  260. Data 139,4,0,4,0,28,0,36,0,28,0,0
  261. Data 139,0,0,16,0,16,0,24,0,20,0,0
  262. Data 139,0,0,56,0,4,24,0,32,28,0,0
  263. Data 139,0,0,12,0,8,0,28,0,8,0,8
  264. Data 139,0,0,28,0,36,0,36,0,36,0,0
  265. Data 139,0,0,24,0,36,0,36,0,36,0,0
  266. Data 139,0,0,20,0,42,0,42,0,34,0,0
  267. Data 139,0,0,20,0,8,0,8,0,20,0,0
  268. Data 139,16,0,8,0,28,0,20,0,20,0,0
  269. Data 139,0,0,60,0,16,0,8,0,60,0,0
  270. Data 139,0,0,26,36,0,28,0,4,56,0,36
  271. Data 139,0,0,24,0,36,0,36,0,24,0,36
  272. Data 139,0,0,28,0,36,0,36,0,0,0,36
  273. Data 139,0,64,0,88,4,68,8,68,0,68,56